package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface PermissionDao {
    Set<Permission> findByRoleId(int roleId);

    /**
     * 查询所有的权限数据
     * @return
     */
    List<Permission> findAll();

    /**
     * 根据条件分页查询权限信息
     * @param queryString
     * @return
     */
    Page<Permission> selectByCondition(String queryString);

    /**
     * 根据id查询权限数据
     * @param id
     * @return
     */
    Permission findById(Integer id);

    /**
     * 新增权限信息
     * @param permission
     */
    void add(Permission permission);

    /**
     * 通过权限id查询关联的角色的数量
     * @param id
     * @return
     */
    Long findCountByPermissionId(Integer id);

    /**
     * 修改权限信息
     * @param permission
     */
    void edit(Permission permission);

    /**
     * 通过权限id删除权限数据
     * @param id
     */
    void deleteById(Integer id);

}
